import request from '@/utils/request'

// 查询核销管理列表
export function listVerification(query) {
  return request({
    url: '/verification/verification/list',
    method: 'get',
    params: query
  })
}
// 查询订餐管理VO列表
export function voList(query) {
  return request({
    url: '/verification/verification/voList',
    method: 'get',
    params: query
  })
}
// 查询核销管理详细
export function getVerification(id) {
  return request({
    url: '/verification/verification/' + id,
    method: 'get'
  })
}

// 新增核销管理
export function addVerification(data) {
  return request({
    url: '/verification/verification',
    method: 'post',
    data: data
  })
}

// 修改核销管理
// 根据员工ID和培训ID更新核销状态
export function updateVerificationStatusByEmpAndTraining(empId, trainingId, isVerified) {
  return request({
    url: `/verification/verification/emp/${empId}/training/${trainingId}/status/${isVerified}`,
    method: 'put'
  })
}
export function exportVerification(query) {
  // 添加测试日志
  console.log('=== API 导出功能测试 ===');
  console.log('传入的查询参数:', query);
  
  // 检查参数类型
  console.log('query 类型:', typeof query);
  
  // 检查是否有循环引用
  try {
    JSON.stringify(query);
    console.log('query 可以被序列化');
  } catch (e) {
    console.error('query 序列化失败:', e);
  }
  
  return request({
    url: '/verification/verification/exportVo',
    method: 'post',
    data: query,  // 使用data而不是params，确保参数在请求体中
    responseType: 'blob'
  });
}
// 导出核销管理（分组）
// 导出核销管理（分组）
export function exportVerificationGrouped(query) {
  // 添加测试日志
  console.log('=== API 分组导出功能测试 ===');
  console.log('传入的查询参数:', query);
  
  // 检查参数类型
  console.log('query 类型:', typeof query);
  
  // 检查是否有循环引用
  try {
    JSON.stringify(query);
    console.log('query 可以被序列化');
  } catch (e) {
    console.error('query 序列化失败:', e);
  }
  
  return request({
    url: '/verification/verification/exportGrouped',
    method: 'post',
    data: query,
    responseType: 'blob',
    headers: {
      'Content-Type': 'application/json'
    }
  });
}
// 删除核销管理
export function delVerification(id) {
  // 支持单个ID和多个ID的删除
  const url = Array.isArray(id) 
    ? '/verification/verification/' + id.join(',') 
    : '/verification/verification/' + id;
    
  return request({
    url: url,
    method: 'delete'
  })
}

// 根据员工ID和培训ID删除核销管理
export function delVerificationsByEmpAndTraining(empId, trainingId) {
  return request({
    url: `/verification/verification/emp/${empId}/training/${trainingId}`,
    method: 'delete'
  })
}

// 修改核销管理
export function updateVerification(data) {
  return request({
    url: '/verification/verification',
    method: 'put',
    data: data
  })
}

